package chapter02.problem01;

import chapter02.utils.List;


public class Problem01 {

	public static <T extends Comparable<? super T>>  String printCommonPartInTwoList(List<T> list1,List<T> list2){
		StringBuilder builder = new StringBuilder();
		int i=0,j=0;
		for(; i < list1.size() && j < list2.size();){
			if(list1.get(i).compareTo(list2.get(j)) == 0){
				builder.append(list1.get(i));
				i++;
				j++;
			}else if(list1.get(i).compareTo(list2.get(j)) < 0){
				i++;
			}else{
				j++;
			}
		}
		return builder.toString();
	}
	
	public static void main(String[] args) {
		List<Integer> list1 = new List<Integer>();
		List<Integer> list2 = new List<Integer>();
		list1.add(0);
		list1.add(1);
		list1.add(3);
		list1.add(6);
		list2.add(0);
		list2.add(1);
		list2.add(2);
		list2.add(4);
		list2.add(6);
		list2.add(8);
		String result = Problem01.printCommonPartInTwoList(list1, list2);
		System.out.println(result);
	}
}
